package com.zh.blog.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zh.blog.dto.PhotoBackDto;
import com.zh.blog.dto.PhotoDto;
import com.zh.blog.model.Photo;
import com.zh.blog.vo.*;

import java.util.List;

/**
 * 照片服务
 * @author ZhengHao
 * Created At 2022/8/12.
 **/
public interface PhotoService extends IService<Photo> {
    /**
     * 根据相册ID获取照片列表
     * @param conditionVO 条件
     * @return 照片列表
     */
    PageResult<PhotoBackDto> listPhotos(ConditionVO conditionVO);

    /**
     * 保存照片
     * @param photoVO 照片
     */
    void savePhotos(PhotoVO photoVO);

    /**
     * 更新照片信息
     * @param photoInfoVO 照片信息
     */
    void updatePhoto(PhotoInfoVO photoInfoVO);

    /**
     * 移动照片相册
     * @param photoVO 照片信息
     */
    void updatePhotosAlbum(PhotoVO photoVO);

    /**
     * 更新照片删除状态
     * @param deleteVO
     */
    void updatePhotoDelete(DeleteVO deleteVO);

    /**
     * 删除照片
     * @param photoIdList 照片id列表
     */
    void deletePhotos(List<Integer> photoIdList);

    /**
     * 根据相册id查看照片列表
     *
     * @param albumId 相册id
     * @return 照片列表
     */
    PhotoDto listPhotosByAlbumId(Integer albumId);
}